#!/bin/bash

if [ -f /var/lib/taos/dnode/dnodeCfg.json ]; then
  echo -e "The default data directory \033[41;37m/var/lib/taos\033[0m contains old data of tdengine 2.x, please clear it before installing!"
  exit 1
fi

csudo=""
if command -v sudo > /dev/null; then
    csudo="sudo "
fi

# Stop the service if running
if pidof taosd &> /dev/null; then
    if pidof systemd &> /dev/null; then
        ${csudo}systemctl stop taosd || :
    elif $(which service  &> /dev/null); then
        ${csudo}service taosd stop || :
    else
        pid=$(ps -ef | grep "taosd" | grep -v "grep" | awk '{print $2}')
        if [ -n "$pid" ]; then
           ${csudo}kill -9 $pid   || :
        fi
    fi
    echo "Stop taosd service success!"
    sleep 1
fi

# Stop adapter service if running
if pidof taosadapter &> /dev/null; then
    if pidof systemd &> /dev/null; then
        ${csudo}systemctl stop taosadapter || :
    elif $(which service  &> /dev/null); then
        ${csudo}service taosadapter stop || :
    else
        pid=$(ps -ef | grep "taosadapter" | grep -v "grep" | awk '{print $2}')
        if [ -n "$pid" ]; then
           ${csudo}kill -9 $pid   || :
        fi
    fi
    echo "Stop taosadapter service success!"
    sleep 1
fi

# Stop keeper service if running
if pidof taoskeeper &> /dev/null; then
    if pidof systemd &> /dev/null; then
        ${csudo}systemctl stop taoskeeper || :
    elif $(which service  &> /dev/null); then
        ${csudo}service taoskeeper stop || :
    else
        pid=$(ps -ef | grep "taoskeeper" | grep -v "grep" | awk '{print $2}')
        if [ -n "$pid" ]; then
           ${csudo}kill -9 $pid   || :
        fi
    fi
    echo "Stop taoskeeper service success!"
    sleep 1
fi

# if taos.cfg already softlink, remove it
cfg_install_dir="/etc/taos"
install_main_dir="/usr/local/taos"
if [ -f "${install_main_dir}/taos.cfg" ]; then
    ${csudo}rm -f ${install_main_dir}/cfg/taos.cfg   || :
fi

if [ -f "${install_main_dir}/taosadapter.toml" ]; then
    ${csudo}rm -f ${install_main_dir}/cfg/taosadapter.toml     || :
fi

if [ -f "${install_main_dir}/taosadapter.service" ]; then
    ${csudo}rm -f ${install_main_dir}/cfg/taosadapter.service || :
fi

if [ -f "${install_main_dir}/taoskeeper.toml" ]; then
    ${csudo}rm -f ${install_main_dir}/cfg/taoskeeper.toml     || :
fi


# there can not libtaos.so*, otherwise ln -s  error
${csudo}rm -f ${install_main_dir}/driver/libtaos.*   || :
${csudo}rm -f ${install_main_dir}/driver/libtaosnative.*   || :
[ -f ${install_main_dir}/driver/libtaosws.so ] && ${csudo}rm -f ${install_main_dir}/driver/libtaosws.so   || :
